python: sort a list of dictionaries by a value 您所在的位置:网站首页 python 排序key python: sort a list of dictionaries by a value

python: sort a list of dictionaries by a value

#python: sort a list of dictionaries by a value| 来源: 网络整理| 查看: 265

list에 담긴 json 형태의 dictionary 들을 특정 value에 따라 정렬을 해야할 때가 있습니다.

 

python 내장함수인 operator를 활용하면 아주 용이하게 할 수 있습니다.

 

import operator list_of_dict = [ {'id': 1, 'name': 'Kim', 'age':10}, {'id': 2, 'name': 'Ju', 'age':30}, {'id': 3, 'name': 'Jang', 'age':20}, ] list_of_dict.sort(key=operator.itemgetter('name')) print(list_of_dict) list_of_dict.sort(key=operator.itemgetter('age')) print(list_of_dict) list_of_dict.sort(key=operator.itemgetter('id'), reverse=True) print(list_of_dict) [{'id': 3, 'name': 'Jang', 'age': 20}, {'id': 2, 'name': 'Ju', 'age': 30}, {'id': 1, 'name': 'Kim', 'age': 10}] [{'id': 1, 'name': 'Kim', 'age': 10}, {'id': 3, 'name': 'Jang', 'age': 20}, {'id': 2, 'name': 'Ju', 'age': 30}] [{'id': 3, 'name': 'Jang', 'age': 20}, {'id': 2, 'name': 'Ju', 'age': 30}, {'id': 1, 'name': 'Kim', 'age': 10}]

 

* 주의

sort()의 경우 return 값이 별도로 없고 sort()한 list가 직접 정렬이 적용됩니다.

import operator list_of_dict = [ {'id': 1, 'name': 'Kim', 'age':10}, {'id': 2, 'name': 'Ju', 'age':30}, {'id': 3, 'name': 'Jang', 'age':20}, ] new_list = list_of_dict.sort(key=operator.itemgetter('name')) print(new_list) print(list_of_dict) None [{'id': 3, 'name': 'Jang', 'age': 20}, {'id': 2, 'name': 'Ju', 'age': 30}, {'id': 1, 'name': 'Kim', 'age': 10}]

위와 같이 변수를 sort() 한 후 변수로 값을 주려고 하면 None이 됩니다. 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有